package file;

/**
 * 华为面试题:
 * 1块钱可以买1瓶可乐,2个空瓶可以换一瓶可乐,3个瓶盖可以换1瓶可乐
 * 问:20块钱最多可以喝多少瓶?
 */
public class Test6 {
    public static void main(String[] args) {
        System.out.println(buy(20,0,0));
    }
    //cola:可以买多少瓶    bottle:还有多少可用空瓶  cap:还有多少可用瓶盖
    public static int buy(int cola,int bottle,int cap){
        bottle = cola+bottle;//计算本次共有多少个空瓶  本次买几瓶可乐就可以得到几个空瓶+上次剩余空瓶
        cap = cola+cap;//计算本次共有多少个瓶盖
        if(cola==0){//如果没有可买的可乐则返回0,没有买到任何可乐
            return 0;
        }else{
            //返回本次买到的可乐+剩余空瓶与瓶盖换的可乐
            return cola+buy(bottle/2+cap/3,bottle%2,cap%3);
        }
    }
}
